Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and flash memory.
Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Changes in threshold voltage of the cells, through programming of a charge storage node (e.g., a floating gate or charge trap), or other physical phenomena (e.g., phase change or polarization), determine the data state of each cell. Common uses for flash memory include personal computers, personal digital assistants (PDAs), digital cameras, digital media players, digital recorders, games, appliances, vehicles, wireless devices, cellular telephones, and removable memory modules, and the uses for flash memory continue to expand.
Flash memory typically utilizes one of two basic architectures known as NOR flash and NAND flash. The designation is derived from the logic used to read the devices. In NOR flash architecture, a logical column of memory cells is coupled in parallel with each memory cell coupled to a data line, such as those typically referred to as bit lines. In NAND flash architecture, a column of memory cells is coupled in series with only the first memory cell of the column coupled to a bit line.
As the performance and complexity of electronic systems increase, the requirement for additional memory in a system also increases. However, in order to continue to reduce the costs of the system, the parts count must be kept to a minimum. This can be accomplished by increasing the memory density of an integrated circuit by using such technologies as multilevel cells (MLC). For example, MLC NAND flash memory is a very cost effective non-volatile memory.
Multilevel cells can take advantage of the analog nature of a traditional flash cell by assigning a data state, e.g., a bit pattern, to a specific threshold voltage (Vt) range of the cell. This technology permits the storage of two or more bits of information per cell, depending on the quantity of voltage ranges assigned to the cell and the stability of the assigned voltage ranges during the lifetime operation of the memory cell.
The voltage necessary to program (or erase) a cell is highly dependent on the usage of the cell, such as the number of times that the particular cell has been programmed and/or erased (cycled) in the past. A cell that has been through no or very few program/erase cycles will typically require application of a higher voltage at its gate to raise its threshold voltage by a particular amount as compared to a cell that has been through a higher number of cycles.
For example, a cell that that never been programmed before can be programmed with an initial program voltage that is relatively high compared to a cell that has been cycled many (on the order of thousands) times. A cell that has been cycled many times will have its threshold voltage moved a larger amount by the same program pulse than a cell that has not previously been cycled, or has been cycled only a few times. If a high initial program voltage is used for a cell that has been cycled many times, the threshold voltage of the cell may change so much that the cell overshoots its desired threshold voltage even on an initial program pulse. Therefore, using a high initial program voltage pulse could over program a highly cycled cell. A relatively low initial program voltage will move the threshold voltage of an uncycled or lightly cycled cell a small amount relative to the amount that same pulse would move a highly-cycled cell. Therefore, using a low initial program voltage pulse could result in longer program times for uncycled or nearly uncycled cells, since more program pulses would be needed to allow the cell to reach its target threshold voltage.
For reasons such as those stated above, and for other reasons, such as those stated below, which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for, among other things, improving programming for memories.